package com.ruoyi.gis.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 数据集对象 gis_dataset
 *
 * @author rww
 * @date 2023-03-07
 */
public class GisDataset extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 下载地址 */
    @Excel(name = "下载地址")
    private String url;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 扩展名 */
    @Excel(name = "扩展名")
    private String fileExt;

    /** 大小 */
    @Excel(name = "大小")
    private Long fileSize;

    /** bucket */
    @Excel(name = "bucket")
    private String bucket;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String identifier;

    /** uuid */
    @Excel(name = "uuid")
    private String objectName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long uploadBy;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date uploadTime;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long preVersionId;

    /** 类型 1文件夹   2：压缩文件   3：文件 */
    @Excel(name = "类型 1文件夹   2：压缩文件   3：文件")
    private Integer type;

    /** 父级id */
    @Excel(name = "父级id")
    private Long pid;

    /** 级联id */
    @Excel(name = "级联id")
    private String ancestors;

    /** 数据集状态 */
    @Excel(name = "数据集状态")
    private Integer stage;//0

    private String datasetName;//数据集名称
    private Integer sort;//排序

    private Long layer;//
    private Integer publish;// 1:可以发布  2：目录包含zip和file
    private String publishType;// publish_type  发布的文件类型  shp  tiff geojson



    public static int type_dir = 1;
    public static int type_zip = 2;
    public static int type_file = 3;

    /////////////////////////////////////////////


    public String getPublishType() {
        return publishType;
    }

    public void setPublishType(String publishType) {
        this.publishType = publishType;
    }

    public Integer getPublish() {
        return publish;
    }

    public void setPublish(Integer publish) {
        this.publish = publish;
    }

    public Long getLayer() {
        return layer;
    }

    public void setLayer(Long layer) {
        this.layer = layer;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setUrl(String url)
    {
        this.url = url;
    }

    public String getUrl()
    {
        return url;
    }
    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName()
    {
        return fileName;
    }
    public void setFileExt(String fileExt)
    {
        this.fileExt = fileExt;
    }

    public String getFileExt()
    {
        return fileExt;
    }
    public void setFileSize(Long fileSize)
    {
        this.fileSize = fileSize;
    }

    public Long getFileSize()
    {
        return fileSize;
    }
    public void setBucket(String bucket)
    {
        this.bucket = bucket;
    }

    public String getBucket()
    {
        return bucket;
    }
    public void setIdentifier(String identifier)
    {
        this.identifier = identifier;
    }

    public String getIdentifier()
    {
        return identifier;
    }
    public void setObjectName(String objectName)
    {
        this.objectName = objectName;
    }

    public String getObjectName()
    {
        return objectName;
    }
    public void setUploadBy(Long uploadBy)
    {
        this.uploadBy = uploadBy;
    }

    public Long getUploadBy()
    {
        return uploadBy;
    }
    public void setUploadTime(Date uploadTime)
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime()
    {
        return uploadTime;
    }
    public void setVersion(String version)
    {
        this.version = version;
    }

    public String getVersion()
    {
        return version;
    }
    public void setPreVersionId(Long preVersionId)
    {
        this.preVersionId = preVersionId;
    }

    public Long getPreVersionId()
    {
        return preVersionId;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setPid(Long pid)
    {
        this.pid = pid;
    }

    public Long getPid()
    {
        return pid;
    }
    public void setAncestors(String ancestors)
    {
        this.ancestors = ancestors;
    }

    public String getAncestors()
    {
        return ancestors;
    }
    public void setStage(Integer stage)
    {
        this.stage = stage;
    }

    public Integer getStage()
    {
        return stage;
    }
    public void setDatasetName(String datasetName)
    {
        this.datasetName = datasetName;
    }

    public String getDatasetName()
    {
        return datasetName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("url", getUrl())
            .append("fileName", getFileName())
            .append("fileExt", getFileExt())
            .append("fileSize", getFileSize())
            .append("bucket", getBucket())
            .append("identifier", getIdentifier())
            .append("objectName", getObjectName())
            .append("uploadBy", getUploadBy())
            .append("uploadTime", getUploadTime())
            .append("version", getVersion())
            .append("preVersionId", getPreVersionId())
            .append("type", getType())
            .append("pid", getPid())
            .append("ancestors", getAncestors())
            .append("stage", getStage())
            .append("datasetName", getDatasetName())
            .toString();
    }
}
